home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / R-Shows / (c)woc v 87.d64 / unicopy (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  85 lines

  1. 100 GOSUB250:DIMB%(232),C%(232),N$(232),T%(232),T$(4)
  2. 110 Z=PEEK(0):X=45:V=256:IFZ=76THENX=42:GOTO120
  3. 115 IFPEEK(48)=4THENX=4624
  4. 120 M=PEEK(X)+PEEK(X+1)*V-362:D=M-V
  5. 130 Z=INT(D/V):POKEM+5,Z:POKEM+230,Z
  6. 140 P=D-20:BD=P-2:Z=150:IFX<>42THEN300
  7. 150 POKEM+94,Z:POKEM+258,Z:POKEM+298,Z
  8. 160 POKEM+300,Z:POKEM+311,Z:POKEM+341,Z:POKEM+348,Z:GOTO300
  9. 170 INPUT#4,E,E$,X,A:GOTO190
  10. 180 INPUT#6,E,E$,X,A
  11. 190 IFETHENPRINT:PRINTE;E$;X;A
  12. 200 IFE=0THENE=(191ANDST):IFETHENPRINT" *ST*";E
  13. 210 IFEANDH=0THENSTOP
  14. 220 RETURN
  15. 230 INPUT" DRIVE ? 0[157][157][157]";A:IFA*A<>ATHEN230
  16. 240 D$=CHR$(A+48):RETURN
  17. 250 PRINT"[147] UNIVERSAL DISK-FILE COPY":RETURN
  18. 260 PRINT" ANOTHER "X$" DISK READY ? N[157][157][157]";
  19. 270 INPUTX$:IFLEFT$(X$,1)<>"Y"THENEND
  20. 280 RETURN
  21. 290 DATA12,50,119,0,*,SEQ,PRG,USR,REL
  22. 300 BB$=CHR$(160)+CHR$(160):SB$=BB$+BB$+BB$+BB$+BB$+BB$+BB$+BB$
  23. 310 Z$=CHR$(0):BB$="         ":B$=BB$+BB$+BB$:C=15
  24. 320 PRINT" SHALL I CHANGE A UNIT NR ? N[157][157][157]";
  25. 330 INPUTD$:IFLEFT$(D$,1)<>"Y"THEN450
  26. 340 INPUT" OLD UNIT NR ? 8[157][157][157]";Z:IFZ<8ORZ>15THENPRINT"[145]";:GOTO340
  27. 350 INPUT" NEW UNIT NR ? 9[157][157][157]";N:IFN<8ORN>15THENPRINT"[145]";:GOTO350
  28. 360 PRINT" TURN OFF ALL UNITS BUT";Z
  29. 370 PRINT" THEN PRESS SPACE-BAR"
  30. 380 GETX$:IFX$<>" "THEN380
  31. 390 OPEN1,Z,C:D$=CHR$(Z+32):E$=CHR$(Z+64)
  32. 400 READA:IFA=0THENPRINT" * UNKNOWN UNIT TYPE *":CLOSE1:END
  33. 410 PRINT#1,"M-R"CHR$(A)Z$:GET#1,X$:IFX$<>D$GOTO400
  34. 420 PRINT#1,"M-R"CHR$(A+1)Z$:GET#1,X$:IFX$<>E$GOTO400
  35. 430 PRINT#1,"M-W"CHR$(A)Z$CHR$(2)CHR$(N+32)CHR$(N+64)
  36. 440 CLOSE1:GOSUB250:RESTORE
  37. 450 FORJ=1TO4:READX:NEXT:FORJ=0TO4:READT$(J):NEXT
  38. 460 INPUT" COPY FROM UNIT ? 8[157][157][157]";F:GOSUB230:F$=D$
  39. 470 INPUT" COPY TO UNIT ? 9[157][157][157]";T:GOSUB230:T$=D$:IFF$=T$ANDF=TTHENRUN
  40. 480 PRINT"[147] NAME-SEARCH PATTERN":INPUT" ? *[157][157][157]";X$
  41. 490 X$=CHR$(8)+Z$+Z$+LEFT$(X$+SB$,16)+Z$
  42. 500 FORJ=0TO19:POKEP+J,ASC(MID$(X$,J+1)):NEXT
  43. 510 PRINT" PRESS 'Y' OR 'N' KEY TO SELECT"
  44. 520 PRINT" THE FILES YOU WANT COPIED:":N=0:Z=0:E=0
  45. 530 OPEN4,F,C,"I"+F$:GOSUB170:OPEN3,F,3,"$"+F$:GOSUB170
  46. 540 SYSM:N$="":X=PEEK(D):IFX=0THEN660
  47. 550 FORJ=3TO18:A=PEEK(D+J):IFA=160THENJ=18:NEXT:GOTO570
  48. 560 N$=N$+CHR$(A):NEXT
  49. 570 X=X-128:B=PEEK(D+28)+PEEK(D+29)*V
  50. 580 PRINTB;TAB(6)N$TAB(24)T$(X)
  51. 590 GETX$:IFZTHENIFX$=""THEN630
  52. 600 IFX$="Y"ORX$="N"THENZ=0:E=ASC(X$)-78:GOTO630
  53. 610 IFX$=CHR$(13)THENZ=1:GOTO630
  54. 620 GOTO590
  55. 630 IFE=0THENPRINT"[145]"B$"[145]":GOTO650
  56. 640 N=N+1:B%(N)=B:N$(N)=N$:T%(N)=X:C%(N)=PEEK(D+21)
  57. 650 IFST=0ANDN<232GOTO540
  58. 660 CLOSE3:CLOSE4:IFNTHEN680
  59. 670 PRINT" * NO FILES SELECTED *":GOTO860
  60. 680 Z=0:FORJ=1TON:IFZ=0THEN710
  61. 690 IFB>B%(J)THEN790
  62. 700 PRINT" * OUTPUT DISK FULL *":X$="OUTPUT":GOSUB260
  63. 710 PRINT" WANT TO NEW THE OUTPUT DISK ? N[157][157][157]";
  64. 720 INPUTX$:IFLEFT$(X$,1)<>"Y"THEN750
  65. 730 PRINT" ENTER DISK-NAME, ID":INPUTX$,D$:H=1
  66. 740 OPEN6,T,C,"N"+T$+":"+X$+","+D$:GOSUB180:CLOSE6:H=0:IFETHEN710
  67. 750 OPEN6,T,C,"I"+T$:GOSUB180:OPEN1,T,0,"$"+T$+":":GOSUB180
  68. 760 FORX=1TO35:GET#1,X$:NEXT:X=ASC(X$+Z$)
  69. 770 GET#1,X$:Z=ASC(X$+Z$):B=X+Z*V:Z=1
  70. 780 GOSUB250:PRINT" ("B" BLOCKS FREE )":CLOSE1:CLOSE6:H=1:GOTO690
  71. 790 OPEN4,F,C:OPEN6,T,C:PRINTB%(J);TAB(6)N$(J)TAB(24)T$(T%(J))"  ";
  72. 800 OPEN3,F,3,F$+":"+N$(J)+","+T$(T%(J)):GOSUB170:IFETHEN850
  73. 810 IFT%(J)=4THENOPEN5,T,5,T$+":"+N$(J)+",L,"+CHR$(C%(J)):GOTO830
  74. 820 OPEN5,T,5,T$+":"+N$(J)+","+T$(T%(J))+",W"
  75. 830 GOSUB180:IFETHEN850
  76. 835 GOSUB900
  77. 840 POKEP,C%(J):SYSM+220:X=PEEK(D):N$(J)="":B=B-B%(J):GOSUB180:PRINT
  78. 850 CLOSE3:CLOSE4:CLOSE5:CLOSE6:NEXTJ
  79. 860 X$="INPUT":GOSUB260:H=0:GOTO480
  80. 900 Q=B%(J):N4=INT(Q/1000):Q=Q-(N4*1000)
  81. 910 N3=INT(Q/100):Q=Q-(N3*100)
  82. 920 N2=INT(Q/10):Q=Q-(N2*10)
  83. 940 N1=Q:POKEBD,(N4*16)+N3
  84. 950 POKEBD+1,(N2*16)+N1:RETURN
  85.